#

| Chapter 6 Pattern Matching |

## 6.2 Metacharacters, Listed by UNIX Program

Some metacharacters are valid for one program but not for another. Those that are available to a UNIX program are marked by a bullet () in the table below. Full descriptions are provided after the table.

Symbol | ed | ex | vi | sed | awk | grep | egrep | Action
--- | --- | --- | --- | --- | --- | --- | --- | ---
. |  |  |  |  |  |  |  | Match any character.
* |  |  |  |  |  |  |  | Match zero or more preceding.
^ |  |  |  |  |  |  |  | Match beginning of line.
$ |  |  |  |  |  |  |  | Match end of line.
\ |  |  |  |  |  |  |  | Escape character following.
[ ] |  |  |  |  |  |  |  | Match one from a set.
\( \) |  |  |  |  |  |  |  | Store pattern for later replay.
\{ \} |  |  |  |  |  |  |  | Match a range of instances.
\< \> |  |  |  |  |  |  |  | Match word's beginning or end.
+ |  |  |  |  |  |  |  | Match one or more preceding.
? |  |  |  |  |  |  |  | Match zero or one preceding.
| |  |  |  |  |  |  |  | Separate choices to match.
( ) |  |  |  |  |  |  |  | Group expressions to match.

In ed, ex, and sed, note that you specify both a search pattern (on the left) and a replacement pattern (on the right). The metacharacters above are meaningful only in a search pattern.

In ed, ex, and sed, the following additional metacharacters are valid only in a replacement pattern:

Symbol | ex | sed | ed | Action
--- | --- | --- | --- | ---
\ |  |  |  | Escape character following.
\`n` |  |  |  | Reuse pattern stored in \( \).
& |  |  |  | Reuse previous search pattern.
~ |  |  |  | Reuse previous replacement pattern.
\u \U |  |  |  | Change character(s) to uppercase.
\l \L |  |  |  | Change character(s) to lowercase.
\E |  |  |  | Turn off previous `\U` or `\L`.
\e |  |  |  | Turn off previous `\u` or `\l`.

6.1 Filenames Versus Patterns |  | 6.3 Metacharacters